home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks96 / FlyPaper.sit / Fly Paper / FlyPaper Source / App Sources / patches.h < prev    next >
Text File  |  1996-06-22  |  3KB  |  72 lines

  1. // File "patches.h" - 
  2.  
  3. #ifndef ____PATCHES_HEADER_____
  4. #define ____PATCHES_HEADER_____
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. // * **************************************************************************** * //
  11. // * **************************************************************************** * //
  12.  
  13. // Setup calling information for the routines we need
  14. #if !GENERATINGPOWERPC
  15. typedef pascal void (*ExitToShellProcPtr)();
  16. typedef pascal WindowPtr (*NewWindowProcPtr)(Ptr wStorage, Rect *bounds, StringPtr title,
  17.         Boolean vis, short procID, WindowPtr behind, Boolean close, long refCon);
  18. typedef ExitToShellProcPtr ExitToShellUPP;
  19. typedef NewWindowProcPtr NewWindowUPP;
  20. enum {
  21.     uppExitToShellProcInfo = 0,
  22.     uppNewWindowProcInfo = 0
  23.     };
  24. #define NewExitToShellProc(proc) (ExitToShellUPP)(proc)
  25. #define NewNewWindowProc(proc) (NewWindowUPP)(proc)
  26. #define CallExitToShellProc(proc) (* (ExitToShellProcPtr) (proc))()
  27. #define CallNewWindowProc(proc, p1, p2, p3, p4, p5, p6, p7, p8)    \
  28.         (* (NewWindowProcPtr) (proc))(p1, p2, p3, p4, p5, p6, p7, p8)
  29. #else
  30. typedef UniversalProcPtr ExitToShellUPP;
  31. typedef UniversalProcPtr NewWindowUPP;
  32. enum {
  33.     uppExitToShellProcInfo = kPascalStackBased,
  34.     uppNewWindowProcInfo = kPascalStackBased
  35.          | RESULT_SIZE(SIZE_CODE(sizeof(WindowPtr)))
  36.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Ptr)))
  37.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Rect *)))
  38.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(StringPtr)))
  39.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Boolean)))
  40.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(short)))
  41.          | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(WindowPtr)))
  42.          | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(Boolean)))
  43.          | STACK_ROUTINE_PARAMETER(8, SIZE_CODE(sizeof(long)))
  44.     };
  45. #define NewExitToShellProc(proc) (ExitToShellUPP) \
  46.         NewRoutineDescriptor((ProcPtr)(proc), uppExitToShellProcInfo, GetCurrentISA())
  47. #define NewNewWindowProc(proc) (NewWindowUPP) \
  48.         NewRoutineDescriptor((ProcPtr)(proc), uppNewWindowProcInfo, GetCurrentISA())
  49. #define CallExitToShellProc(proc) \
  50.         CallUniversalProc((UniversalProcPtr) (proc), uppExitToShellProcInfo)
  51. #define CallNewWindowProc(proc, p1, p2, p3, p4, p5, p6, p7, p8) \
  52.         (WindowPtr) CallUniversalProc((UniversalProcPtr)(proc), \
  53.         uppNewWindowProcInfo, p1, p2, p3, p4, p5, p6, p7, p8)
  54. #endif GENERATINGPOWERPC
  55.  
  56. // * **************************************************************************** * //
  57. // * **************************************************************************** * //
  58. // Function Prototypes
  59.  
  60. void PatchExitToShell(void);
  61. pascal void MyExitToShell(void);
  62.  
  63. void PatchNewWindow (void);
  64. pascal WindowPtr MyNewWindow(Ptr wStorage, Rect *bounds, StringPtr title, 
  65.         Boolean vis, short procID, WindowPtr behind, Boolean close, long refCon);
  66.  
  67. #ifdef __cplusplus
  68. }
  69. #endif
  70.  
  71. #endif  ____PATCHES_HEADER_____
  72.